1250 M = INT(M/2):K = N -M:J = 1: PRINT "SORTING ";: IF M = 0 THEN PRINT "<CTRL-G>DONE<CTRL-G>": RETURN
1260 I = J
1270 LL = I +M:I2 = R(I):L2 = R(LL): ON L GOTO 1290: IF VAL(N$(I2,S)) < = VAL(N$(L2,S)) THEN 1300
1280 GOTO 1295
1290 IF N$(I2,S) < = N$(L2,S) THEN 1300
1295 Y = R(I):R(I) = R(LL):R(LL) = Y:I = I -M: IF I > = 1 THEN 1270
1300 J = J +1: IF J >K THEN 1250
1305 GOTO 1260
1415 GOSUB 1440: GOSUB 1240
1420 PRINT "<CTRL-G>": PRINT "WANT TO SAVE THE "DB$" FILE": PRINT "SORTED BY "H$(S)" TO DISK ";: INPUT "Y/N) ?";L$: IF L$ = "Y" THEN F$ = "INDEX": GOSUB 4280
1430 GOTO 4810
1440 MF = 1: GOSUB 3880
1450 INPUT "ENTER # OF FIELD FOR SORT ";S$:S = VAL(S$): IF S <1 OR S >NH THEN 1450
1460 PRINT : PRINT "DO YOU WANT TO SORT:": PRINT
1470 PRINT "1 ALPHABETICALLY"
1480 PRINT "2 NUMERICALLY"
1490 PRINT
1500 INPUT "WHICH ";L$:L = VAL(L$)
1510 PRINT : PRINT "SORTING ";: RETURN
1520 CALL 1013: REM *** CREATE HEADERFILE ***
1530 NR = 1
1540 HOME : PRINT "PRESS 'RETURN' TO EXIT TO MENU"
1550 PRINT
1560 PRINT "HEADER FOR COLUMN NUMBER "NR": ";: INPUT "";R$(NR)
1570 IF R$(NR) = "" OR NR >20 THEN 1600
1580 NR = NR +1
1590 GOTO 1560
1600 INPUT "AVERAGE RECORD SIZE ";R$(NR): IF LEN(R$(NR)) = 0 THEN R$(NR) = (NR -1) *10
1610 GOSUB 4280: GOTO 1160
1620 REM ***ENTER RECORDS***
1630 HOME
1640 PRINT "THERE ARE "NR" RECORDS"
1650 PRINT "IN THE "DB$" FILE"
1660 NR = NR +1:R(NR) = NR
1670 PRINT "YOU ARE ENTERING RECORD # "NR
1680 PRINT
1690 FOR I = 1 TO NH
1700 PRINT H$(I)":";: GOSUB 4720:N$(NR,I) = I$
1705 IF I$ = "/" THEN N$(NR,I) = N$(NR -1,I)
1710 NEXT I
1720 PRINT
1730 INPUT "MORE (Y/N) ";L$
1740 IF L$ = "N" THEN 1750
1745 GOTO 1640
1750 F$ = "INDEX"
1760 GOSUB 4280
1770 GOTO 4810
1780 REM ***SEARCH/CHANGE***
1790 L = 0
1800 HOME
1810 PRINT "YOU MAY SEARCH BY ANY OF THE FOLLOWING:"
1820 PRINT
1830 GOSUB 3880
1840 PRINT : PRINT "OR YOU MAY": PRINT
1850 PRINT I" MAKE CHANGES"
1860 PRINT
1870 INPUT "WHICH ";S$:S = VAL(S$)
1880 IF S <0 OR S >NH +1 THEN 1870
1890 IF S = NH +1 THEN 2080
1900 HOME
1910 PRINT "PLEASE ENTER THE "H$(S): PRINT "YOU WANT TO FIND.......<CTRL-J>": INPUT "";Q$
1920 HOME
1930 FOR J = 1 TO NR:Y = R(J)
1940 N$(Y,0) = STR$(J)
1950 IF LEFT$(N$(Y,S), LEN(Q$)) = Q$ THEN GOSUB 2240
1960 IF L +NH >20 THEN GOSUB 2060
1970 NEXT J
1980 PRINT "THAT'S ALL OF THEM. ";
1990 PRINT "NOW YOU MAY:"
2000 PRINT "1 DO MORE SEARCHES"
2010 PRINT "2 MAKE CHANGES"
2020 PRINT "3 RETURN TO THE MAIN MENU"
2030 INPUT "<CTRL-J>WHICH ";S$:S = VAL(S$)
2040 IF S <1 OR S >3 THEN 2030
2050 ON S GOTO 1800,2080,4810
2060 IF PF < >0 THEN 2070
2062 PRINT : PRINT "PRESS RETURN TO CONTINUE, ESC FOR MENU";
2064 GET L$
2065 IF ASC(L$) = 27 THEN 4810
2066 IF ASC(L$) < >13 THEN 2064
2070 L = 0: HOME : RETURN
2080 REM ***CHANGE DATA***
2090 PRINT "<CTRL-J>ENTER THE NUMBER OF THE RECORD"